Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
Loading...
Searching...
No Matches
ireader.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 Roc authors
3
*
4
* This Source Code Form is subject to the terms of the Mozilla Public
5
* License, v. 2.0. If a copy of the MPL was not distributed with this
6
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
*/
8
9
//! @file roc_audio/ireader.h
10
//! @brief Audio reader interface.
11
12
#ifndef ROC_AUDIO_IREADER_H_
13
#define ROC_AUDIO_IREADER_H_
14
15
#include "
roc_audio/frame.h
"
16
#include "
roc_core/list_node.h
"
17
18
namespace
roc
{
19
namespace
audio {
20
21
//! Audio reader interface.
22
class
IReader
:
public
core::ListNode
{
23
public
:
24
virtual
~IReader
();
25
26
//! Read audio frame.
27
//! @remarks
28
//! Frame buffer and its size should be set by caller. The reader
29
//! should fill the entire buffer and should not resize it.
30
virtual
void
read
(
Frame
& frame) = 0;
31
};
32
33
}
// namespace audio
34
}
// namespace roc
35
36
#endif
// ROC_AUDIO_IREADER_H_
roc::audio::Frame
Audio frame.
Definition:
frame.h:22
roc::audio::IReader
Audio reader interface.
Definition:
ireader.h:22
roc::audio::IReader::read
virtual void read(Frame &frame)=0
Read audio frame.
roc::core::ListNode
Base class for list element.
Definition:
list_node.h:26
frame.h
Audio frame.
list_node.h
Linked list node.
roc
Root namespace.
roc_audio
ireader.h
Generated by
1.9.5